package inheritance;

/**
 * 1、在任意类的构造方法中，都可以通过 super( [实参列表] ) 形式来调用父类中的指定构造方法
 *
 * 2、如果某个构造方法中没有显示书写 super( [实参列表] ) 则 【编译器】 会为构造方法添加 super() 从而调用父类中的无参构造
 *
 * 3、通过指定不同的参数可以调用父类中不同的构造方法
 */
public class Chinese extends Human1{    // 通过 extends 关键字显式指定直接父类为 Human

    public Chinese(){
        super();//任意构造方法内部执行的第一行代码都是super()
        System.out.println("Chinese Constructor : Chinese");
    }

    public Chinese(String name){
        super(name);//调用父类中带有 java.lang.String 类型参数的构造方法
        System.out.println("Constructor : Chinese(java.lang.String)");
    }

    public static void main(String[] args) {
        Chinese c =new Chinese();
        System.out.println(c.name);

        System.out.println("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~");

        Chinese h = new Chinese("蒋大爷");
        System.out.println(h.name);
    }
}
